<?php
namespace app\common\controller;

// 底层控制器
use think\Controller;

//引入cookie
use think\Cookie;

/*
*  前台公共控制器
*/

class Homecontroller extends Controller {
    // 类的初始化

    public function __construct() {
        // 继承父类初始化
        parent::__construct();

        // 定义一个全局模型
        $this->UserModel = model( 'User.User' );
        $this->ConfigModel = model( 'Config' );

        // 判断是否有登陆
        $LoginUser = Cookie::get( 'LoginUser' );

        if ( !empty( $LoginUser ) ) {
            // 当存在cookie, 再去查询是否有这名用户
            $id = isset( $LoginUser[ 'id' ] ) ? $LoginUser[ 'id' ] : 0;

            // 根据id去查询用户
            $user = $this->UserModel->find( $id );

            // 当用户不存在
            if ( !$user ) {
                // cookie属于伪造的
                Cookie::delete( 'LoginUser' );
                $this->error( '非法登陆', url( 'home/index/login' ) );
                exit;
            }

            // 设置给所有全局的控制器
            $this->LoginUser = $user;

            // 当这个人存在的话 做一个全局的赋值
            $this->assign( 'LoginUser', $user );
        } else {
            $this->error( '请先登录', url( 'home/index/login' ) );
            exit;
        }
        // 获取系统配置
        $this->system();
    }

    public function system() {

        // 获取配置表的信息
        $SystemList = $this->ConfigModel->select();

        $System = [];

        foreach ( $SystemList as $item ) {
            // SystemList ( 配置表 ) key当数组key
            $System[ $item[ 'key' ] ] = $item[ 'value' ];
        }

        // 渲染到每一个用这个控制器的界面
        $this->assign( 'System', $System );
    }
}
?>